<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.9.1"/>
<title>OCILIB (C and C++ Driver for Oracle): Internal Large Objects (LOBs)</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">OCILIB (C and C++ Driver for Oracle)
   &#160;<span id="projectnumber">4.2.1</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.9.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>About</span></a></li>
      <li><a href="modules.html"><span>Documentation</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group___ocilib_c_api_lobs.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Internal Large Objects (LOBs)<div class="ingroups"><a class="el" href="group___ocilib_c_api.html">C API</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Large Objects (LOBs) were introduced with Oracle 8i to replace LONGs</p>
<p>Oracle OCI supplies a set APIs to manipulate this data type.</p>
<p>OCILIB encapsulates this API by supplying:</p>
<ul>
<li>An OCI_Lob C type</li>
<li>A set of really easy APIs to manipulate OCI_Lob objects</li>
</ul>
<p>OCILIB currently supports 3 types of Lobs :</p>
<ul>
<li>BLOB : Binary LOBs (replacement for LONG RAW data type)</li>
<li>CLOB : Character LOBs (replacement for LONG data type)</li>
<li>NCLOB : National Character LOBs</li>
</ul>
<p>OCI_Lob objects can be :</p>
<ul>
<li>Created as standalone instances</li>
<li>Used for in/out binding</li>
<li>Retrieved from select statements</li>
<li>Manipulated (copy, append, ...)</li>
</ul>
<dl class="section user"><dt>Lobs &gt; 4 Go</dt><dd></dd></dl>
<p>Oracle 10g extended lobs by increasing maximum size from 4Go to 128 To.</p>
<p>OCILIB, with version 2.1.0, supports now this new limit. For handling sizes and offsets up to 128 To, 64 bit integers are requested.</p>
<p>So, A new scalar integer type has been introduced: big_uint (elderly lobsize_t). This type can be a 32 bits or 64 bits integer depending on :</p><ul>
<li>Compiler support for 64 bits integers (C99 compiler, MS compilers)</li>
<li>Oracle client version</li>
</ul>
<p>big_uint will be a 64 bits integer :</p><ul>
<li>if the compiler supports it</li>
<li>if OCILIB is build with option OCI_IMPORT_LINKAGE and the Oracle version is &gt;= 10.1</li>
<li>or OCILIB is build with option OCI_IMPORT_RUNTIME (oracle version is not known at compilation stage)</li>
</ul>
<dl class="section user"><dt>Example</dt><dd><div class="fragment"><div class="line"><span class="preprocessor">#include &quot;ocilib.h&quot;</span></div>
<div class="line"></div>
<div class="line"><span class="preprocessor">#define SIZE_BUF 512</span></div>
<div class="line"></div>
<div class="line"><span class="keywordtype">int</span> main(<span class="keywordtype">void</span>)</div>
<div class="line">{</div>
<div class="line">    <a class="code" href="group___ocilib_c_api_datatypes.html#ga2135d3b5341ebbaae1f54d62873ecf77">OCI_Connection</a> *cn;</div>
<div class="line">    <a class="code" href="group___ocilib_c_api_datatypes.html#ga4b016f1bd7de508b1a919e34b12aa83d">OCI_Statement</a> *st;</div>
<div class="line">    <a class="code" href="group___ocilib_c_api_datatypes.html#gae0c7aa9c507975d21ca6c261081ba753">OCI_Resultset</a> *rs;</div>
<div class="line">    <a class="code" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *lob1, *lob2;</div>
<div class="line"></div>
<div class="line">    <span class="keywordtype">char</span> temp[SIZE_BUF+1];</div>
<div class="line">    <span class="keywordtype">int</span> code, n;</div>
<div class="line"></div>
<div class="line">    <span class="keywordflow">if</span> (!<a class="code" href="group___ocilib_c_api_initialization.html#ga01464863ddd68393106b63fb8cc1ead1">OCI_Initialize</a>(NULL, NULL, OCI_ENV_DEFAULT))</div>
<div class="line">        <span class="keywordflow">return</span> EXIT_FAILURE;</div>
<div class="line"></div>
<div class="line">    cn = <a class="code" href="group___ocilib_c_api_connections.html#ga5cd867ad94bdc4a3bbfdef24452262e0">OCI_ConnectionCreate</a>(<span class="stringliteral">&quot;db&quot;</span>, <span class="stringliteral">&quot;usr&quot;</span>, <span class="stringliteral">&quot;pwd&quot;</span>, OCI_SESSION_DEFAULT);</div>
<div class="line">    st = <a class="code" href="group___ocilib_c_api_statements.html#ga335822f983af0fb5c529431f06a9a17b">OCI_StatementCreate</a>(cn);</div>
<div class="line"> </div>
<div class="line">    <a class="code" href="group___ocilib_c_api_statements.html#ga8b2b66994f847d9f0b6b0efe4a13ccf3">OCI_ExecuteStmt</a>(st, <span class="stringliteral">&quot;select code, content from test_lob for update&quot;</span>);</div>
<div class="line"></div>
<div class="line">    rs = <a class="code" href="group___ocilib_c_api_fetching.html#gaf2a9e28b66a9538ba0ffb62bffb87c16">OCI_GetResultset</a>(st);</div>
<div class="line">    </div>
<div class="line">    <span class="keywordflow">while</span> (<a class="code" href="group___ocilib_c_api_fetching.html#ga36ac26dcea78f6074421781e401f97ba">OCI_FetchNext</a>(rs))</div>
<div class="line">    {</div>
<div class="line">        code = <a class="code" href="group___ocilib_c_api_fetching.html#gaa8d80dc30b2012eaddd13efa9dfb711d">OCI_GetInt</a>(rs, 1);</div>
<div class="line">        lob1 = <a class="code" href="group___ocilib_c_api_fetching.html#gabac23a7dea02963ef8de438950ef6fae">OCI_GetLob</a>(rs, 2);</div>
<div class="line">        lob2 = <a class="code" href="group___ocilib_c_api_lobs.html#ga318f1273603e24b51c3d9e4c29f42685">OCI_LobCreate</a>(cn, OCI_CLOB);</div>
<div class="line"></div>
<div class="line">        n = <a class="code" href="group___ocilib_c_api_lobs.html#ga949f7050609430486c9ef0f3c488d38a">OCI_LobWrite</a>(lob1, <span class="stringliteral">&quot;Today, &quot;</span>, 7);</div>
<div class="line">        <a class="code" href="group___ocilib_c_api_lobs.html#ga63df7f944c418642fc04571a4a522b87">OCI_LobSeek</a>(lob1, n, OCI_SEEK_SET);</div>
<div class="line">       </div>
<div class="line">        n = <a class="code" href="group___ocilib_c_api_lobs.html#ga949f7050609430486c9ef0f3c488d38a">OCI_LobWrite</a>(lob2, <span class="stringliteral">&quot;I&#39;m going to the cinema !&quot;</span>, 25);</div>
<div class="line">       </div>
<div class="line">        <a class="code" href="group___ocilib_c_api_lobs.html#gacda64fca2ab7eb9d8a8d68190b13a285">OCI_LobAppendLob</a>(lob1, lob2);</div>
<div class="line">        <a class="code" href="group___ocilib_c_api_lobs.html#ga63df7f944c418642fc04571a4a522b87">OCI_LobSeek</a>(lob1, 0, OCI_SEEK_SET);</div>
<div class="line">        </div>
<div class="line">        n = <a class="code" href="group___ocilib_c_api_lobs.html#ga36708313dc7d5c0b2c30f7f8b9fa2e2d">OCI_LobRead</a>(lob1, temp, SIZE_BUF);</div>
<div class="line">        temp[n] = 0;</div>
<div class="line"></div>
<div class="line">        printf(<span class="stringliteral">&quot;code: %i, action : %s\n&quot;</span>, code, temp);</div>
<div class="line">            </div>
<div class="line">        <a class="code" href="group___ocilib_c_api_lobs.html#gaac269a3de312c2c7d1a6193a9ab79545">OCI_LobFree</a>(lob2);</div>
<div class="line">    }</div>
<div class="line"></div>
<div class="line">    printf(<span class="stringliteral">&quot;\n%d row(s) fetched\n&quot;</span>, <a class="code" href="group___ocilib_c_api_fetching.html#ga93bd9197720088dbda2bef593ad1c07c">OCI_GetRowCount</a>(rs));</div>
<div class="line"></div>
<div class="line">    <a class="code" href="group___ocilib_c_api_initialization.html#ga639706aa8e9689c7ebffc018fac6d3ae">OCI_Cleanup</a>();</div>
<div class="line"></div>
<div class="line">    <span class="keywordflow">return</span> EXIT_SUCCESS;</div>
<div class="line">}</div>
</div><!-- fragment --> </dd></dl>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga318f1273603e24b51c3d9e4c29f42685"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT <a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_lobs.html#ga318f1273603e24b51c3d9e4c29f42685">OCI_LobCreate</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga2135d3b5341ebbaae1f54d62873ecf77">OCI_Connection</a> *con, unsigned int type)</td></tr>
<tr class="memdesc:ga318f1273603e24b51c3d9e4c29f42685"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a local temporary Lob instance.  <a href="#ga318f1273603e24b51c3d9e4c29f42685">More...</a><br /></td></tr>
<tr class="separator:ga318f1273603e24b51c3d9e4c29f42685"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaac269a3de312c2c7d1a6193a9ab79545"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT boolean OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_lobs.html#gaac269a3de312c2c7d1a6193a9ab79545">OCI_LobFree</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *lob)</td></tr>
<tr class="memdesc:gaac269a3de312c2c7d1a6193a9ab79545"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free a local temporary lob.  <a href="#gaac269a3de312c2c7d1a6193a9ab79545">More...</a><br /></td></tr>
<tr class="separator:gaac269a3de312c2c7d1a6193a9ab79545"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga00934ab657273e10a3dea6c16b32de5f"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT <a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> **OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_lobs.html#ga00934ab657273e10a3dea6c16b32de5f">OCI_LobArrayCreate</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga2135d3b5341ebbaae1f54d62873ecf77">OCI_Connection</a> *con, unsigned int type, unsigned int nbelem)</td></tr>
<tr class="memdesc:ga00934ab657273e10a3dea6c16b32de5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an array of lob object.  <a href="#ga00934ab657273e10a3dea6c16b32de5f">More...</a><br /></td></tr>
<tr class="separator:ga00934ab657273e10a3dea6c16b32de5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4e317df72cb3e3014c9161c892e68186"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT boolean OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_lobs.html#ga4e317df72cb3e3014c9161c892e68186">OCI_LobArrayFree</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> **lobs)</td></tr>
<tr class="memdesc:ga4e317df72cb3e3014c9161c892e68186"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free an array of lob objects.  <a href="#ga4e317df72cb3e3014c9161c892e68186">More...</a><br /></td></tr>
<tr class="separator:ga4e317df72cb3e3014c9161c892e68186"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga08db605f9acb170ddc9b0f403f65d871"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT unsigned int OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_lobs.html#ga08db605f9acb170ddc9b0f403f65d871">OCI_LobGetType</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *lob)</td></tr>
<tr class="memdesc:ga08db605f9acb170ddc9b0f403f65d871"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the type of the given Lob object.  <a href="#ga08db605f9acb170ddc9b0f403f65d871">More...</a><br /></td></tr>
<tr class="separator:ga08db605f9acb170ddc9b0f403f65d871"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga63df7f944c418642fc04571a4a522b87"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT boolean OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_lobs.html#ga63df7f944c418642fc04571a4a522b87">OCI_LobSeek</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *lob, big_uint offset, unsigned int mode)</td></tr>
<tr class="memdesc:ga63df7f944c418642fc04571a4a522b87"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a seek operation on the OCI_lob content buffer.  <a href="#ga63df7f944c418642fc04571a4a522b87">More...</a><br /></td></tr>
<tr class="separator:ga63df7f944c418642fc04571a4a522b87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab3bc556383addcbd81f7e4158757626e"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT big_uint OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_lobs.html#gab3bc556383addcbd81f7e4158757626e">OCI_LobGetOffset</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *lob)</td></tr>
<tr class="memdesc:gab3bc556383addcbd81f7e4158757626e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the current position in the Lob content buffer.  <a href="#gab3bc556383addcbd81f7e4158757626e">More...</a><br /></td></tr>
<tr class="separator:gab3bc556383addcbd81f7e4158757626e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga36708313dc7d5c0b2c30f7f8b9fa2e2d"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT unsigned int OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_lobs.html#ga36708313dc7d5c0b2c30f7f8b9fa2e2d">OCI_LobRead</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *lob, void *buffer, unsigned int len)</td></tr>
<tr class="memdesc:ga36708313dc7d5c0b2c30f7f8b9fa2e2d"><td class="mdescLeft">&#160;</td><td class="mdescRight">[OBSOLETE] Read a portion of a lob into the given buffer  <a href="#ga36708313dc7d5c0b2c30f7f8b9fa2e2d">More...</a><br /></td></tr>
<tr class="separator:ga36708313dc7d5c0b2c30f7f8b9fa2e2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga62d12eaf92b7e5554c4b1cce854e4441"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT boolean OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_lobs.html#ga62d12eaf92b7e5554c4b1cce854e4441">OCI_LobRead2</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *lob, void *buffer, unsigned int *char_count, unsigned int *byte_count)</td></tr>
<tr class="memdesc:ga62d12eaf92b7e5554c4b1cce854e4441"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read a portion of a lob into the given buffer.  <a href="#ga62d12eaf92b7e5554c4b1cce854e4441">More...</a><br /></td></tr>
<tr class="separator:ga62d12eaf92b7e5554c4b1cce854e4441"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga949f7050609430486c9ef0f3c488d38a"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT unsigned int OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_lobs.html#ga949f7050609430486c9ef0f3c488d38a">OCI_LobWrite</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *lob, void *buffer, unsigned int len)</td></tr>
<tr class="memdesc:ga949f7050609430486c9ef0f3c488d38a"><td class="mdescLeft">&#160;</td><td class="mdescRight">[OBSOLETE] Write a buffer into a LOB  <a href="#ga949f7050609430486c9ef0f3c488d38a">More...</a><br /></td></tr>
<tr class="separator:ga949f7050609430486c9ef0f3c488d38a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4cbd00ede807989ab817361ac2e4223b"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT boolean OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_lobs.html#ga4cbd00ede807989ab817361ac2e4223b">OCI_LobWrite2</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *lob, void *buffer, unsigned int *char_count, unsigned int *byte_count)</td></tr>
<tr class="memdesc:ga4cbd00ede807989ab817361ac2e4223b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a buffer into a LOB.  <a href="#ga4cbd00ede807989ab817361ac2e4223b">More...</a><br /></td></tr>
<tr class="separator:ga4cbd00ede807989ab817361ac2e4223b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga75a8049251e51665b3103789573a3a3b"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT boolean OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_lobs.html#ga75a8049251e51665b3103789573a3a3b">OCI_LobTruncate</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *lob, big_uint size)</td></tr>
<tr class="memdesc:ga75a8049251e51665b3103789573a3a3b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Truncate the given lob to a shorter length.  <a href="#ga75a8049251e51665b3103789573a3a3b">More...</a><br /></td></tr>
<tr class="separator:ga75a8049251e51665b3103789573a3a3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1fed642e2fdc4b72724340e27e13153e"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT big_uint OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_lobs.html#ga1fed642e2fdc4b72724340e27e13153e">OCI_LobGetLength</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *lob)</td></tr>
<tr class="memdesc:ga1fed642e2fdc4b72724340e27e13153e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the actual length of a lob.  <a href="#ga1fed642e2fdc4b72724340e27e13153e">More...</a><br /></td></tr>
<tr class="separator:ga1fed642e2fdc4b72724340e27e13153e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabf9f93c675dbe553d0938c312d26c6e5"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT unsigned int OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_lobs.html#gabf9f93c675dbe553d0938c312d26c6e5">OCI_LobGetChunkSize</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *lob)</td></tr>
<tr class="memdesc:gabf9f93c675dbe553d0938c312d26c6e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the chunk size of a LOB.  <a href="#gabf9f93c675dbe553d0938c312d26c6e5">More...</a><br /></td></tr>
<tr class="separator:gabf9f93c675dbe553d0938c312d26c6e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8187347b6578c04aef6f6e7baa949c09"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT big_uint OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_lobs.html#ga8187347b6578c04aef6f6e7baa949c09">OCI_LobErase</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *lob, big_uint offset, big_uint len)</td></tr>
<tr class="memdesc:ga8187347b6578c04aef6f6e7baa949c09"><td class="mdescLeft">&#160;</td><td class="mdescRight">Erase a portion of the lob at a given position.  <a href="#ga8187347b6578c04aef6f6e7baa949c09">More...</a><br /></td></tr>
<tr class="separator:ga8187347b6578c04aef6f6e7baa949c09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7bfac772587753b2cef9c5a704ae7ce9"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT unsigned int OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_lobs.html#ga7bfac772587753b2cef9c5a704ae7ce9">OCI_LobAppend</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *lob, void *buffer, unsigned int len)</td></tr>
<tr class="memdesc:ga7bfac772587753b2cef9c5a704ae7ce9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append a buffer at the end of a LOB.  <a href="#ga7bfac772587753b2cef9c5a704ae7ce9">More...</a><br /></td></tr>
<tr class="separator:ga7bfac772587753b2cef9c5a704ae7ce9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga673481b03e0d3216fcfa799ec44bbba9"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT boolean OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_lobs.html#ga673481b03e0d3216fcfa799ec44bbba9">OCI_LobAppend2</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *lob, void *buffer, unsigned int *char_count, unsigned int *byte_count)</td></tr>
<tr class="memdesc:ga673481b03e0d3216fcfa799ec44bbba9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append a buffer at the end of a LOB.  <a href="#ga673481b03e0d3216fcfa799ec44bbba9">More...</a><br /></td></tr>
<tr class="separator:ga673481b03e0d3216fcfa799ec44bbba9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacda64fca2ab7eb9d8a8d68190b13a285"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT boolean OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_lobs.html#gacda64fca2ab7eb9d8a8d68190b13a285">OCI_LobAppendLob</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *lob, <a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *lob_src)</td></tr>
<tr class="memdesc:gacda64fca2ab7eb9d8a8d68190b13a285"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append a source LOB at the end of a destination LOB.  <a href="#gacda64fca2ab7eb9d8a8d68190b13a285">More...</a><br /></td></tr>
<tr class="separator:gacda64fca2ab7eb9d8a8d68190b13a285"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga642bbf0e0fa52f9900aa332ec2d70cdb"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT boolean OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_lobs.html#ga642bbf0e0fa52f9900aa332ec2d70cdb">OCI_LobIsTemporary</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *lob)</td></tr>
<tr class="memdesc:ga642bbf0e0fa52f9900aa332ec2d70cdb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if the given lob is a temporary lob.  <a href="#ga642bbf0e0fa52f9900aa332ec2d70cdb">More...</a><br /></td></tr>
<tr class="separator:ga642bbf0e0fa52f9900aa332ec2d70cdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae53d9ad9e0c1db7cc1942775aa4e70c3"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT boolean OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_lobs.html#gae53d9ad9e0c1db7cc1942775aa4e70c3">OCI_LobCopy</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *lob, <a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *lob_src, big_uint offset_dst, big_uint offset_src, big_uint count)</td></tr>
<tr class="memdesc:gae53d9ad9e0c1db7cc1942775aa4e70c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy a portion of a source LOB into a destination LOB.  <a href="#gae53d9ad9e0c1db7cc1942775aa4e70c3">More...</a><br /></td></tr>
<tr class="separator:gae53d9ad9e0c1db7cc1942775aa4e70c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3cd99f8efdcdbfdc4c273e72c3bde4cc"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT boolean OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_lobs.html#ga3cd99f8efdcdbfdc4c273e72c3bde4cc">OCI_LobCopyFromFile</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *lob, <a class="el" href="group___ocilib_c_api_datatypes.html#gad57163fd9169661f31821898c0a86b1d">OCI_File</a> *file, big_uint offset_dst, big_uint offset_src, big_uint count)</td></tr>
<tr class="memdesc:ga3cd99f8efdcdbfdc4c273e72c3bde4cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy a portion of a source FILE into a destination LOB.  <a href="#ga3cd99f8efdcdbfdc4c273e72c3bde4cc">More...</a><br /></td></tr>
<tr class="separator:ga3cd99f8efdcdbfdc4c273e72c3bde4cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga191f3b34b55bac65e994f18118080a08"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT boolean OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_lobs.html#ga191f3b34b55bac65e994f18118080a08">OCI_LobOpen</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *lob, unsigned int mode)</td></tr>
<tr class="memdesc:ga191f3b34b55bac65e994f18118080a08"><td class="mdescLeft">&#160;</td><td class="mdescRight">Open explicitly a Lob.  <a href="#ga191f3b34b55bac65e994f18118080a08">More...</a><br /></td></tr>
<tr class="separator:ga191f3b34b55bac65e994f18118080a08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8eb276acd9cb2d5ddda85f3f19ec8f9c"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT boolean OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_lobs.html#ga8eb276acd9cb2d5ddda85f3f19ec8f9c">OCI_LobClose</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *lob)</td></tr>
<tr class="memdesc:ga8eb276acd9cb2d5ddda85f3f19ec8f9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Close explicitly a Lob.  <a href="#ga8eb276acd9cb2d5ddda85f3f19ec8f9c">More...</a><br /></td></tr>
<tr class="separator:ga8eb276acd9cb2d5ddda85f3f19ec8f9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2440e9d98b1a647c6f681d30dcf9cb59"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT boolean OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_lobs.html#ga2440e9d98b1a647c6f681d30dcf9cb59">OCI_LobIsEqual</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *lob, <a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *lob2)</td></tr>
<tr class="memdesc:ga2440e9d98b1a647c6f681d30dcf9cb59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compare two lob handles for equality.  <a href="#ga2440e9d98b1a647c6f681d30dcf9cb59">More...</a><br /></td></tr>
<tr class="separator:ga2440e9d98b1a647c6f681d30dcf9cb59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga30c335eb342272b308eb3746e5b4ea75"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT boolean OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_lobs.html#ga30c335eb342272b308eb3746e5b4ea75">OCI_LobAssign</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *lob, <a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *lob_src)</td></tr>
<tr class="memdesc:ga30c335eb342272b308eb3746e5b4ea75"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assign a lob to another one.  <a href="#ga30c335eb342272b308eb3746e5b4ea75">More...</a><br /></td></tr>
<tr class="separator:ga30c335eb342272b308eb3746e5b4ea75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaed9377d01703f9ba727acc71ee04aa4a"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT big_uint OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_lobs.html#gaed9377d01703f9ba727acc71ee04aa4a">OCI_LobGetMaxSize</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *lob)</td></tr>
<tr class="memdesc:gaed9377d01703f9ba727acc71ee04aa4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the maximum size that the lob can contain.  <a href="#gaed9377d01703f9ba727acc71ee04aa4a">More...</a><br /></td></tr>
<tr class="separator:gaed9377d01703f9ba727acc71ee04aa4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1657f17bba0ed7bdbe71293b65aeb25d"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT boolean OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_lobs.html#ga1657f17bba0ed7bdbe71293b65aeb25d">OCI_LobFlush</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *lob)</td></tr>
<tr class="memdesc:ga1657f17bba0ed7bdbe71293b65aeb25d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flush Lob content to the server.  <a href="#ga1657f17bba0ed7bdbe71293b65aeb25d">More...</a><br /></td></tr>
<tr class="separator:ga1657f17bba0ed7bdbe71293b65aeb25d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga04033eb79a2815d59ab17d2d72761a19"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT boolean OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_lobs.html#ga04033eb79a2815d59ab17d2d72761a19">OCI_LobEnableBuffering</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *lob, boolean value)</td></tr>
<tr class="memdesc:ga04033eb79a2815d59ab17d2d72761a19"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable / disable buffering mode on the given lob handle.  <a href="#ga04033eb79a2815d59ab17d2d72761a19">More...</a><br /></td></tr>
<tr class="separator:ga04033eb79a2815d59ab17d2d72761a19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac9f62083e75fba01cfbc13f6c5c282c4"><td class="memItemLeft" align="right" valign="top">OCI_EXPORT <a class="el" href="group___ocilib_c_api_datatypes.html#ga2135d3b5341ebbaae1f54d62873ecf77">OCI_Connection</a> *OCI_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_lobs.html#gac9f62083e75fba01cfbc13f6c5c282c4">OCI_LobGetConnection</a> (<a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *lob)</td></tr>
<tr class="memdesc:gac9f62083e75fba01cfbc13f6c5c282c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve connection handle from the lob handle.  <a href="#gac9f62083e75fba01cfbc13f6c5c282c4">More...</a><br /></td></tr>
<tr class="separator:gac9f62083e75fba01cfbc13f6c5c282c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga318f1273603e24b51c3d9e4c29f42685"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT <a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a>* OCI_API OCI_LobCreate </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga2135d3b5341ebbaae1f54d62873ecf77">OCI_Connection</a> *&#160;</td>
          <td class="paramname"><em>con</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>type</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Create a local temporary Lob instance. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">con</td><td>- Connection handle </td></tr>
    <tr><td class="paramname">type</td><td>- Lob type</td></tr>
  </table>
  </dd>
</dl>
<p>Supported lob types :</p>
<ul>
<li>OCI_BLOB : Binary Lob</li>
<li>OCI_CLOB : Character Lob</li>
<li>OCI_NCLOB ! National Character Lob</li>
</ul>
<dl class="section return"><dt>Returns</dt><dd>Return the lob handle on success otherwise NULL on failure </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_lob.html#a7ec44514bb29abc80689d0b5a151f4b0">ocilib::Lob&lt; TLobObjectType, TLobOracleType &gt;::Lob()</a>.</p>

</div>
</div>
<a class="anchor" id="gaac269a3de312c2c7d1a6193a9ab79545"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT boolean OCI_API OCI_LobFree </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *&#160;</td>
          <td class="paramname"><em>lob</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Free a local temporary lob. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">lob</td><td>- Lob handle</td></tr>
  </table>
  </dd>
</dl>
<dl class="section warning"><dt>Warning</dt><dd>Only lobs created with <a class="el" href="group___ocilib_c_api_lobs.html#ga318f1273603e24b51c3d9e4c29f42685" title="Create a local temporary Lob instance. ">OCI_LobCreate()</a> should be freed by <a class="el" href="group___ocilib_c_api_lobs.html#gaac269a3de312c2c7d1a6193a9ab79545" title="Free a local temporary lob. ">OCI_LobFree()</a></dd></dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE on success otherwise FALSE </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_lob.html#a7ec44514bb29abc80689d0b5a151f4b0">ocilib::Lob&lt; TLobObjectType, TLobOracleType &gt;::Lob()</a>.</p>

</div>
</div>
<a class="anchor" id="ga00934ab657273e10a3dea6c16b32de5f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT <a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a>** OCI_API OCI_LobArrayCreate </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga2135d3b5341ebbaae1f54d62873ecf77">OCI_Connection</a> *&#160;</td>
          <td class="paramname"><em>con</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>nbelem</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Create an array of lob object. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">con</td><td>- Connection handle </td></tr>
    <tr><td class="paramname">type</td><td>- Lob type </td></tr>
    <tr><td class="paramname">nbelem</td><td>- number of elements in the array</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>see <a class="el" href="group___ocilib_c_api_lobs.html#ga318f1273603e24b51c3d9e4c29f42685" title="Create a local temporary Lob instance. ">OCI_LobCreate()</a> for more details</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>Return the lob handle array on success otherwise NULL on failure </dd></dl>

</div>
</div>
<a class="anchor" id="ga4e317df72cb3e3014c9161c892e68186"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT boolean OCI_API OCI_LobArrayFree </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> **&#160;</td>
          <td class="paramname"><em>lobs</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Free an array of lob objects. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">lobs</td><td>- Array of lob objects</td></tr>
  </table>
  </dd>
</dl>
<dl class="section warning"><dt>Warning</dt><dd>Only arrays of lobs created with <a class="el" href="group___ocilib_c_api_lobs.html#ga00934ab657273e10a3dea6c16b32de5f" title="Create an array of lob object. ">OCI_LobArrayCreate()</a> should be freed by <a class="el" href="group___ocilib_c_api_lobs.html#ga4e317df72cb3e3014c9161c892e68186" title="Free an array of lob objects. ">OCI_LobArrayFree()</a></dd></dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE on success otherwise FALSE </dd></dl>

</div>
</div>
<a class="anchor" id="ga08db605f9acb170ddc9b0f403f65d871"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT unsigned int OCI_API OCI_LobGetType </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *&#160;</td>
          <td class="paramname"><em>lob</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Return the type of the given Lob object. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">lob</td><td>- Lob handle</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>For possible values, see <a class="el" href="group___ocilib_c_api_lobs.html#ga318f1273603e24b51c3d9e4c29f42685" title="Create a local temporary Lob instance. ">OCI_LobCreate()</a></dd></dl>
<dl class="section return"><dt>Returns</dt><dd>Object type or OCI_UNKNOWN the input handle is NULL </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_lob.html#a46593cbff47ea649935ae86b24256898">ocilib::Lob&lt; TLobObjectType, TLobOracleType &gt;::GetType()</a>.</p>

</div>
</div>
<a class="anchor" id="ga63df7f944c418642fc04571a4a522b87"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT boolean OCI_API OCI_LobSeek </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *&#160;</td>
          <td class="paramname"><em>lob</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">big_uint&#160;</td>
          <td class="paramname"><em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>mode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Perform a seek operation on the OCI_lob content buffer. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">lob</td><td>- Lob handle </td></tr>
    <tr><td class="paramname">offset</td><td>- Offset from current position (bytes or characters) </td></tr>
    <tr><td class="paramname">mode</td><td>- Seek mode</td></tr>
  </table>
  </dd>
</dl>
<p>Parameter 'mode' can be one of the following value :</p>
<ul>
<li>OCI_SEEK_SET : set the lob current offset to the given absolute offset</li>
<li>OCI_SEEK_END : set the lob current offset to the end of the lob</li>
<li>OCI_SEEK_CUR : move the lob current offset to the number of bytes or characters given by parameter 'offset'</li>
</ul>
<dl class="section note"><dt>Note</dt><dd><ul>
<li>For CLOB and CLOB, offset in characters</li>
<li>For BLOB and BFILE, offset is in bytes</li>
</ul>
</dd>
<dd>
Position in the Lob buffer starts at 0.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE on success otherwise FALSE </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_lob.html#aa2de24600dc407f812718d62671a0ac3">ocilib::Lob&lt; TLobObjectType, TLobOracleType &gt;::Seek()</a>.</p>

</div>
</div>
<a class="anchor" id="gab3bc556383addcbd81f7e4158757626e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT big_uint OCI_API OCI_LobGetOffset </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *&#160;</td>
          <td class="paramname"><em>lob</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Return the current position in the Lob content buffer. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">lob</td><td>- Lob handle</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Lob position (starting with 0) or 0 on failure </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_lob.html#a1f20843002234257763862be33e49445">ocilib::Lob&lt; TLobObjectType, TLobOracleType &gt;::GetOffset()</a>.</p>

</div>
</div>
<a class="anchor" id="ga36708313dc7d5c0b2c30f7f8b9fa2e2d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT unsigned int OCI_API OCI_LobRead </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *&#160;</td>
          <td class="paramname"><em>lob</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>[OBSOLETE] Read a portion of a lob into the given buffer </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">lob</td><td>- Lob handle </td></tr>
    <tr><td class="paramname">buffer</td><td>- Pointer to a buffer </td></tr>
    <tr><td class="paramname">len</td><td>- Length of the buffer (in bytes or characters)</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Length is expressed in :<ul>
<li>Bytes for BLOBs</li>
<li>Characters for CLOBs/NCLOBS</li>
</ul>
</dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>This call is obsolete ! Use <a class="el" href="group___ocilib_c_api_lobs.html#ga62d12eaf92b7e5554c4b1cce854e4441" title="Read a portion of a lob into the given buffer. ">OCI_LobRead2()</a> instead.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>Number of bytes/characters read on success otherwise 0 on failure </dd></dl>

</div>
</div>
<a class="anchor" id="ga62d12eaf92b7e5554c4b1cce854e4441"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT boolean OCI_API OCI_LobRead2 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *&#160;</td>
          <td class="paramname"><em>lob</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int *&#160;</td>
          <td class="paramname"><em>char_count</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int *&#160;</td>
          <td class="paramname"><em>byte_count</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Read a portion of a lob into the given buffer. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">lob</td><td>- Lob handle </td></tr>
    <tr><td class="paramname">buffer</td><td>- Pointer to a buffer </td></tr>
    <tr><td class="paramname">char_count</td><td>- [in/out] Pointer to maximum number of characters </td></tr>
    <tr><td class="paramname">byte_count</td><td>- [in/out] Pointer to maximum number of bytes</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>In input, 'char_count' and 'byte_count' are values to read into the buffer In output, 'char_count' and 'byte_count' are values read into the buffer</dd>
<dd>
For BLOBs, only the parameter 'byte_count' is used For CLOBs, both parameters can be used : In input :<ul>
<li>if 'byte_count' is set to zero, it is computed from 'char_count'</li>
<li>if 'char_count' is set to zero, it is computed from 'byte_count'</li>
</ul>
</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE on success otherwise FALSE </dd></dl>

</div>
</div>
<a class="anchor" id="ga949f7050609430486c9ef0f3c488d38a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT unsigned int OCI_API OCI_LobWrite </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *&#160;</td>
          <td class="paramname"><em>lob</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>[OBSOLETE] Write a buffer into a LOB </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">lob</td><td>- Lob handle </td></tr>
    <tr><td class="paramname">buffer</td><td>- Pointer to a buffer </td></tr>
    <tr><td class="paramname">len</td><td>- Length of the buffer (in bytes or characters)</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Length is expressed in :<ul>
<li>Bytes for BLOBs</li>
<li>Characters for CLOBs/NCLOBs</li>
</ul>
</dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>This call is obsolete ! Use <a class="el" href="group___ocilib_c_api_lobs.html#ga4cbd00ede807989ab817361ac2e4223b" title="Write a buffer into a LOB. ">OCI_LobWrite2()</a> instead.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>Number of bytes / characters written on success otherwise 0 on failure </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_lob.html#aadf90a428f4e25b011d991d8f355c9ef">ocilib::Lob&lt; TLobObjectType, TLobOracleType &gt;::Write()</a>.</p>

</div>
</div>
<a class="anchor" id="ga4cbd00ede807989ab817361ac2e4223b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT boolean OCI_API OCI_LobWrite2 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *&#160;</td>
          <td class="paramname"><em>lob</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int *&#160;</td>
          <td class="paramname"><em>char_count</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int *&#160;</td>
          <td class="paramname"><em>byte_count</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Write a buffer into a LOB. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">lob</td><td>- Lob handle </td></tr>
    <tr><td class="paramname">buffer</td><td>- Pointer to a buffer </td></tr>
    <tr><td class="paramname">char_count</td><td>- [in/out] Pointer to maximum number of characters </td></tr>
    <tr><td class="paramname">byte_count</td><td>- [in/out] Pointer to maximum number of bytes</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>In input, 'char_count' and 'byte_count' are values to write from the buffer In output, 'char_count' and 'byte_count' are values written from the buffer</dd>
<dd>
For BLOBs, only the parameter 'byte_count' is used For CLOBs, both parameters can be used : In input :<ul>
<li>if 'byte_count' is set to zero, it is computed from 'char_count'</li>
<li>if 'char_count' is set to zero, it is computed from 'byte_count'</li>
</ul>
</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE on success otherwise FALSE </dd></dl>

</div>
</div>
<a class="anchor" id="ga75a8049251e51665b3103789573a3a3b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT boolean OCI_API OCI_LobTruncate </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *&#160;</td>
          <td class="paramname"><em>lob</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">big_uint&#160;</td>
          <td class="paramname"><em>size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Truncate the given lob to a shorter length. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">lob</td><td>- Lob handle </td></tr>
    <tr><td class="paramname">size</td><td>- New length (in bytes or characters)</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Length is expressed in :<ul>
<li>Bytes for BLOBs</li>
<li>Characters for CLOBs/NCLOBs</li>
</ul>
</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE on success otherwise FALSE </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_lob.html#afd97d8a2b632b2c80645be791cb00e72">ocilib::Lob&lt; TLobObjectType, TLobOracleType &gt;::Truncate()</a>.</p>

</div>
</div>
<a class="anchor" id="ga1fed642e2fdc4b72724340e27e13153e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT big_uint OCI_API OCI_LobGetLength </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *&#160;</td>
          <td class="paramname"><em>lob</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Return the actual length of a lob. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">lob</td><td>- Lob handle</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The returned value is in bytes for BLOBS and characters for CLOBS/NCLOBs </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_lob.html#ae5c38ace48474aae5e8a0bef6bc8161d">ocilib::Lob&lt; TLobObjectType, TLobOracleType &gt;::GetLength()</a>.</p>

</div>
</div>
<a class="anchor" id="gabf9f93c675dbe553d0938c312d26c6e5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT unsigned int OCI_API OCI_LobGetChunkSize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *&#160;</td>
          <td class="paramname"><em>lob</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Returns the chunk size of a LOB. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">lob</td><td>- Lob handle</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>This chunk size corresponds to the chunk size used by the LOB data layer when accessing and modifying the LOB value. According to Oracle documentation, performance will be improved if the application issues read or write requests using a multiple of this chunk size</dd>
<dd>
The returned value is in bytes for BLOBS and characters for CLOBS/NCLOBs </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_lob.html#acab10e7deb35b9e0d410ad68d51fd071">ocilib::Lob&lt; TLobObjectType, TLobOracleType &gt;::GetChunkSize()</a>.</p>

</div>
</div>
<a class="anchor" id="ga8187347b6578c04aef6f6e7baa949c09"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT big_uint OCI_API OCI_LobErase </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *&#160;</td>
          <td class="paramname"><em>lob</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">big_uint&#160;</td>
          <td class="paramname"><em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">big_uint&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Erase a portion of the lob at a given position. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">lob</td><td>- Lob handle </td></tr>
    <tr><td class="paramname">offset</td><td>- Absolute position in source lob </td></tr>
    <tr><td class="paramname">len</td><td>- Number of bytes or characters to erase</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Absolute position starts at 0. Erasing means that spaces overwrite the existing LOB value.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>Number of bytes (BLOB) or characters (CLOB/NCLOB) erased on success otherwise 0 on failure </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_lob.html#ae855537c3d904bb962bc5ab786257c98">ocilib::Lob&lt; TLobObjectType, TLobOracleType &gt;::Erase()</a>.</p>

</div>
</div>
<a class="anchor" id="ga7bfac772587753b2cef9c5a704ae7ce9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT unsigned int OCI_API OCI_LobAppend </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *&#160;</td>
          <td class="paramname"><em>lob</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Append a buffer at the end of a LOB. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">lob</td><td>- Lob handle </td></tr>
    <tr><td class="paramname">buffer</td><td>- Pointer to a buffer </td></tr>
    <tr><td class="paramname">len</td><td>- Length of the buffer (in bytes or characters)</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Length is expressed in :<ul>
<li>Bytes for BLOBs</li>
<li>Characters for CLOBs</li>
</ul>
</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>Number of bytes / characters written on success otherwise 0 on failure </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_lob.html#a3aef22c31a20e7b5dc44c536a3fd69f6">ocilib::Lob&lt; TLobObjectType, TLobOracleType &gt;::Append()</a>.</p>

</div>
</div>
<a class="anchor" id="ga673481b03e0d3216fcfa799ec44bbba9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT boolean OCI_API OCI_LobAppend2 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *&#160;</td>
          <td class="paramname"><em>lob</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int *&#160;</td>
          <td class="paramname"><em>char_count</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int *&#160;</td>
          <td class="paramname"><em>byte_count</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Append a buffer at the end of a LOB. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">lob</td><td>- Lob handle </td></tr>
    <tr><td class="paramname">buffer</td><td>- Pointer to a buffer </td></tr>
    <tr><td class="paramname">char_count</td><td>- [in/out] Pointer to maximum number of characters </td></tr>
    <tr><td class="paramname">byte_count</td><td>- [in/out] Pointer to maximum number of bytes</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>In input, 'char_count' and 'byte_count' are values to write from the buffer In output, 'char_count' and 'byte_count' are values written from the buffer</dd>
<dd>
For BLOBs, only the parameter 'byte_count' is used For CLOBs, both parameters can be used : In input :<ul>
<li>if 'byte_count' is set to zero, it is computed from 'char_count'</li>
<li>if 'char_count' is set to zero, it is computed from 'byte_count'</li>
</ul>
</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE on success otherwise FALSE </dd></dl>

</div>
</div>
<a class="anchor" id="gacda64fca2ab7eb9d8a8d68190b13a285"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT boolean OCI_API OCI_LobAppendLob </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *&#160;</td>
          <td class="paramname"><em>lob</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *&#160;</td>
          <td class="paramname"><em>lob_src</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Append a source LOB at the end of a destination LOB. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">lob</td><td>- Destination Lob handle </td></tr>
    <tr><td class="paramname">lob_src</td><td>- Source Lob handle</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE on success otherwise FALSE </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_lob.html#a49570a3fd06149d83adb7b81888bcd84">ocilib::Lob&lt; TLobObjectType, TLobOracleType &gt;::Append()</a>.</p>

</div>
</div>
<a class="anchor" id="ga642bbf0e0fa52f9900aa332ec2d70cdb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT boolean OCI_API OCI_LobIsTemporary </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *&#160;</td>
          <td class="paramname"><em>lob</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Check if the given lob is a temporary lob. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">lob</td><td>- Lob handle</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE if it's a temporary lob otherwise FALSE </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_lob.html#a8cd913e0742fa6d8dc2a65afb0d9bdf8">ocilib::Lob&lt; TLobObjectType, TLobOracleType &gt;::IsTemporary()</a>.</p>

</div>
</div>
<a class="anchor" id="gae53d9ad9e0c1db7cc1942775aa4e70c3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT boolean OCI_API OCI_LobCopy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *&#160;</td>
          <td class="paramname"><em>lob</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *&#160;</td>
          <td class="paramname"><em>lob_src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">big_uint&#160;</td>
          <td class="paramname"><em>offset_dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">big_uint&#160;</td>
          <td class="paramname"><em>offset_src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">big_uint&#160;</td>
          <td class="paramname"><em>count</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Copy a portion of a source LOB into a destination LOB. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">lob</td><td>- Destination Lob handle </td></tr>
    <tr><td class="paramname">lob_src</td><td>- Source Lob handle </td></tr>
    <tr><td class="paramname">offset_dst</td><td>- Absolute position in destination lob </td></tr>
    <tr><td class="paramname">offset_src</td><td>- Absolute position in source lob </td></tr>
    <tr><td class="paramname">count</td><td>- Number of bytes or character to copy</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>For character LOB (CLOB/NCLOBS) the parameters count, offset_dst and offset_src are expressed in characters and not in bytes.</dd>
<dd>
Absolute position starts at 0. </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_lob.html#a4747f843a23a91b84c64873e0920c516">ocilib::Lob&lt; TLobObjectType, TLobOracleType &gt;::Copy()</a>.</p>

</div>
</div>
<a class="anchor" id="ga3cd99f8efdcdbfdc4c273e72c3bde4cc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT boolean OCI_API OCI_LobCopyFromFile </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *&#160;</td>
          <td class="paramname"><em>lob</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#gad57163fd9169661f31821898c0a86b1d">OCI_File</a> *&#160;</td>
          <td class="paramname"><em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">big_uint&#160;</td>
          <td class="paramname"><em>offset_dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">big_uint&#160;</td>
          <td class="paramname"><em>offset_src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">big_uint&#160;</td>
          <td class="paramname"><em>count</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Copy a portion of a source FILE into a destination LOB. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">lob</td><td>- Destination Lob handle </td></tr>
    <tr><td class="paramname">file</td><td>- Source File handle </td></tr>
    <tr><td class="paramname">offset_dst</td><td>- Absolute position in destination lob </td></tr>
    <tr><td class="paramname">offset_src</td><td>- Absolute position in source file </td></tr>
    <tr><td class="paramname">count</td><td>- Number of bytes to copy</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd><ul>
<li>For character LOB (CLOB/NCLOB) the parameter offset_src are expressed in characters and not in bytes.</li>
<li>Offset_src is always in bytes</li>
</ul>
</dd>
<dd>
Absolute position starts at 0. </dd></dl>

</div>
</div>
<a class="anchor" id="ga191f3b34b55bac65e994f18118080a08"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT boolean OCI_API OCI_LobOpen </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *&#160;</td>
          <td class="paramname"><em>lob</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>mode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Open explicitly a Lob. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">lob</td><td>- Lob handle </td></tr>
    <tr><td class="paramname">mode</td><td>- open mode</td></tr>
  </table>
  </dd>
</dl>
<p>Possible values for mode are :</p>
<ul>
<li>OCI_LOB_READONLY : read only access</li>
<li>OCI_LOB_READWRITE : read/write access</li>
</ul>
<dl class="section note"><dt>Note</dt><dd><ul>
<li>A call to OCI_LobOpen is not necessary to manipulate a Lob.</li>
<li>If a lob hasn't been opened explicitly, triggers are fired and indexes updated at every read/write/append operation</li>
</ul>
</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE on success otherwise FALSE </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_lob.html#a277e998222a9eec48c5f31a92660340c">ocilib::Lob&lt; TLobObjectType, TLobOracleType &gt;::Open()</a>.</p>

</div>
</div>
<a class="anchor" id="ga8eb276acd9cb2d5ddda85f3f19ec8f9c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT boolean OCI_API OCI_LobClose </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *&#160;</td>
          <td class="paramname"><em>lob</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Close explicitly a Lob. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">lob</td><td>- Lob handle</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd><ul>
<li>A call to OCI_LobClose is not necessary to manipulate a Lob.</li>
</ul>
</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE on success otherwise FALSE </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_lob.html#a871f072b265795470d7d2c805297f1d8">ocilib::Lob&lt; TLobObjectType, TLobOracleType &gt;::Close()</a>.</p>

</div>
</div>
<a class="anchor" id="ga2440e9d98b1a647c6f681d30dcf9cb59"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT boolean OCI_API OCI_LobIsEqual </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *&#160;</td>
          <td class="paramname"><em>lob</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *&#160;</td>
          <td class="paramname"><em>lob2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Compare two lob handles for equality. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">lob</td><td>- Lob handle </td></tr>
    <tr><td class="paramname">lob2</td><td>- Lob2 handle</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE is the lobs are not null and equal otherwise FALSE </dd></dl>

</div>
</div>
<a class="anchor" id="ga30c335eb342272b308eb3746e5b4ea75"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT boolean OCI_API OCI_LobAssign </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *&#160;</td>
          <td class="paramname"><em>lob</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *&#160;</td>
          <td class="paramname"><em>lob_src</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Assign a lob to another one. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">lob</td><td>- Destination Lob handle </td></tr>
    <tr><td class="paramname">lob_src</td><td>- Source Lob handle</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE on success otherwise FALSE </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_lob.html#a68f2cd4e9107c9e1c4a6384136699423">ocilib::Lob&lt; TLobObjectType, TLobOracleType &gt;::Clone()</a>.</p>

</div>
</div>
<a class="anchor" id="gaed9377d01703f9ba727acc71ee04aa4a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT big_uint OCI_API OCI_LobGetMaxSize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *&#160;</td>
          <td class="paramname"><em>lob</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Return the maximum size that the lob can contain. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">lob</td><td>- Lob handle</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE on success otherwise FALSE </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_lob.html#a95f2aa792765d8c093449d45cac0912a">ocilib::Lob&lt; TLobObjectType, TLobOracleType &gt;::GetMaxSize()</a>.</p>

</div>
</div>
<a class="anchor" id="ga1657f17bba0ed7bdbe71293b65aeb25d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT boolean OCI_API OCI_LobFlush </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *&#160;</td>
          <td class="paramname"><em>lob</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Flush Lob content to the server. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">lob</td><td>- Lob handle</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE on success otherwise FALSE </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_lob.html#a9f39d254aa100db5dacbaa815937ef55">ocilib::Lob&lt; TLobObjectType, TLobOracleType &gt;::Flush()</a>.</p>

</div>
</div>
<a class="anchor" id="ga04033eb79a2815d59ab17d2d72761a19"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT boolean OCI_API OCI_LobEnableBuffering </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *&#160;</td>
          <td class="paramname"><em>lob</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">boolean&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Enable / disable buffering mode on the given lob handle. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">lob</td><td>- Lob handle </td></tr>
    <tr><td class="paramname">value</td><td>- Enable/disable buffering mode</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Oracle "LOB Buffering Subsystem" allows client applications to speedup read/write of small buffers on Lobs Objects. Check Oracle Documentation for more details on "LOB Buffering Subsystem". This reduces the number of network round trips and LOB versions, thereby improving LOB performance significantly.</dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>According to Oracle documentation the following operations are not permitted on Lobs when buffering is on : <a class="el" href="group___ocilib_c_api_lobs.html#gae53d9ad9e0c1db7cc1942775aa4e70c3" title="Copy a portion of a source LOB into a destination LOB. ">OCI_LobCopy()</a>, OCI_LobAppend, <a class="el" href="group___ocilib_c_api_lobs.html#ga8187347b6578c04aef6f6e7baa949c09" title="Erase a portion of the lob at a given position. ">OCI_LobErase()</a>, <a class="el" href="group___ocilib_c_api_lobs.html#ga1fed642e2fdc4b72724340e27e13153e" title="Return the actual length of a lob. ">OCI_LobGetLength()</a>, <a class="el" href="group___ocilib_c_api_lobs.html#ga75a8049251e51665b3103789573a3a3b" title="Truncate the given lob to a shorter length. ">OCI_LobTruncate()</a></dd></dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE on success otherwise FALSE </dd></dl>

<p>Referenced by <a class="el" href="classocilib_1_1_lob.html#ad816fcfe3dd948840c3e0a2ef55bff21">ocilib::Lob&lt; TLobObjectType, TLobOracleType &gt;::EnableBuffering()</a>.</p>

</div>
</div>
<a class="anchor" id="gac9f62083e75fba01cfbc13f6c5c282c4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_EXPORT <a class="el" href="group___ocilib_c_api_datatypes.html#ga2135d3b5341ebbaae1f54d62873ecf77">OCI_Connection</a>* OCI_API OCI_LobGetConnection </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a> *&#160;</td>
          <td class="paramname"><em>lob</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Retrieve connection handle from the lob handle. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">lob</td><td>- lob handle </td></tr>
  </table>
  </dd>
</dl>

<p>Referenced by <a class="el" href="classocilib_1_1_lob.html#a49600ff70c39e464f2390fbb85ce0e7d">ocilib::Lob&lt; TLobObjectType, TLobOracleType &gt;::GetConnection()</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated on Mon Mar 21 2016 22:26:37 for OCILIB (C and C++ Driver for Oracle) by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.9.1 </li>
  </ul>
</div>
</body>
</html>
